package com.filipinas.tresenraya;

import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MyListener implements OnClickListener{
	
	private Activity act;	
	ControladorJuego controlador;
	private int jugada;

	public MyListener(Activity act, ControladorJuego c){
		this.act = act;
		this.controlador = c;
		jugada = 1;
	}
  
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		if(getJugada() < 3){
			Button rb = (Button)v;
			switch (rb.getId()) {
				case R.id.jug1:
					if(getJugada() < 2){
					setJugada(3);
					controlador=((TresEnRayaActivity)act).asignarJugador(1);
					((TresEnRayaActivity)act).apoyoAUnNuevoRenacer();
					}
					break;
				case R.id.jug2:
					if(getJugada() < 2){
					setJugada(3);
					controlador=((TresEnRayaActivity)act).asignarJugador(2);
					((TresEnRayaActivity)act).apoyoAUnNuevoRenacer();
					}
					break;
				case R.id.radioGroup:
					Log.i("ONCLICK", "se pulsa RG con id "+rb.getId());
					break;
				case R.id.nuevoJuego:
					Log.i("ONCLICK", "se pulsa nuevoJuego con id "+rb.getId());
					((TresEnRayaActivity)act).unNuevoRenacer();				
					break;
			}
		}
		
		if(getJugada() == 3){
			Button b = (Button)v;
			switch (b.getId()) {
				
				case R.id.uno:
					((TresEnRayaActivity)act).pinta(controlador.ejecutarJugada(0,0), b);
					break;
				case R.id.dos:
					((TresEnRayaActivity)act).pinta(controlador.ejecutarJugada(0,1), b);		
					break;
				case R.id.tres:
					((TresEnRayaActivity)act).pinta(controlador.ejecutarJugada(0,2), b);
					break;
				case R.id.cuatro:
					((TresEnRayaActivity)act).pinta(controlador.ejecutarJugada(1,0), b);
					break;
				case R.id.cinco:
					((TresEnRayaActivity)act).pinta(controlador.ejecutarJugada(1,1), b);
					break;
				case R.id.seis:
					((TresEnRayaActivity)act).pinta(controlador.ejecutarJugada(1,2), b);
					break;
				case R.id.siete:			
					((TresEnRayaActivity)act).pinta(controlador.ejecutarJugada(2,0), b);
					break;
				case R.id.ocho:			
					((TresEnRayaActivity)act).pinta(controlador.ejecutarJugada(2,1),b);
					break;
				case R.id.nueve:				
					((TresEnRayaActivity)act).pinta(controlador.ejecutarJugada(2,2),b);
					break;
			}
		}
	}
 
	public int getJugada() {
		return jugada;
	}

	public void setJugada(int jugada) {
		this.jugada = jugada;
	}
}
